\documentclass{article}
\usepackage{polski}
\usepackage[utf8]{inputenc}
\usepackage{listings}
\usepackage{graphicx}
\usepackage{float}
\usepackage[usenames,dvipsnames]{color} % For colors and names
\hyphenpenalty=1115000

\title{\textbf{Metody sztucznej inteligencji 12L} \\ Raport wstępny} % Title

\author{Tomasz \textsc{Bawej} \\ Łukasz \textsc{Trzaska}} % Author name

\definecolor{mygrey}{gray}{.96} % Light Grey
\lstset{language=Verilog, tabsize=3, backgroundcolor=\color{mygrey}, basicstyle=\small, commentstyle=\color{BrickRed}}
\lstset{ 
	language=[ISO]C++,              % choose the language of the code ("language=Verilog" is popular as well)
   	tabsize=3,							  % sets the size of the tabs in spaces (1 Tab is replaced with 3 spaces)
	basicstyle=\scriptsize,               % the size of the fonts that are used for the code
	numbers=left,                   % where to put the line-numbers
	numberstyle=\scriptsize,              % the size of the fonts that are used for the line-numbers
	stepnumber=2,                   % the step between two line-numbers. If it's 1 each line will be numbered
	numbersep=5pt,                  % how far the line-numbers are from the code
	backgroundcolor=\color{mygrey}, % choose the background color. You must add \usepackage{color}
	%showspaces=false,              % show spaces adding particular underscores
	%showstringspaces=false,        % underline spaces within strings
	%showtabs=false,                % show tabs within strings adding particular underscores
	frame=single,	                 % adds a frame around the code
	captionpos=b,                   % sets the caption-position to bottom
	breaklines=true,                % sets automatic line breaking
	breakatwhitespace=false,        % sets if automatic breaks should only happen at whitespace
	%escapeinside={\%*}{*)},        % if you want to add a comment within your code
	commentstyle=\color{BrickRed}   % sets the comment style
}
\usepackage{titlesec}
\titleformat{\section}{\large\bfseries}{\thesection}{1em}{}
\newenvironment{packed_enum}{
\begin{enumerate}
  \setlength{\itemsep}{1pt}
  \setlength{\parskip}{0pt}
  \setlength{\parsep}{0pt}
}{\end{enumerate}}

\begin{document}

\maketitle % Insert the title, author and date

\setlength\parindent{0pt} % Removes all indentation from paragraphs

\section{Treść szadania} (Grupa W1.)
\textbf {SB3. rak płuc.} Zaprojektować i wykonać system wnioskowania służący do wspomagania decyzji w diagnozie raka płuc. Do realizacji zadania zostanie wykorzystane środowisko MatLab wraz z biblioteką BNT (\textit{Bayes Net Toolbox}) oraz \textbf{GeNIe\&Smile}.
\section{Analiza problemu}
\paragraph*{Dane.} W danych do zadanego problemu decyzyjnego wyszczególniono 11 zmiennych losowych, oznaczających odpowiednio albo czynniki chorobotwórcze albo symptomy choroby. Są one boolowskie (binarne), z interpretacją istnienia/nieistnienia czynnika lub symptomu.\\Zmienna celu reprezentowana jest przez wartości -1 (nie wykryto choroby) bądź 1 (wykryto).
\paragraph*{Identyfikacja zależności zmiennych.} Posiadając wiedzę ekspercką, problemu tego nie ma - można od razu zidentyfikować zależności przyczynowo skutkowe w grafie Bayesowskim (Wariant 1). Bez takiej wiedzy zależności te muszą być wykryte jedynie na podstawie danych trenujących (Wariant 2). 
\paragraph*{Określenie prawdopodobieństw warunkowych na podstawie eksperymentu.} Rozkład prawdopodobieństwa dla zmiennych losowych jest tutaj explicite nieznany.\\
W fazie uaktualnienia sieci, na chwilę obecną, algorytm do uaktualniania jest dla autorów rozwiązania nie w pełni nieznany. Wiadomo jedynie, że algorytmy aproksymujące wartości, które zapewne będą wykorzystane to: (ang.) \textit{probabilistic logic sampling}, \textit{likelihood sampling}, \textit{backward sampling}, \textit{adaptive importance sampling} (AIS-BN) i \textit{approximate posterior importance sampling} (APIS-BN).
\section{Algorytm  rozwiązania i koncepcja struktury}
\paragraph*{Dla Wariantu 2.} (bez wiedzy eksperckiej), istnieją najogólniej biorąc, dwa podejścia do nauki "struktury" grafu: bazowana na ograniczeniach (ang. \textit{constraint-based}) oraz wyszukiwania i oceny (ang. \textit{search-and-score}). Obie metody zostaną użyte, a wybrane i opisane zostaną  najciekawsze.\\
Oba narzędzia udostępniają opcję uczenia się struktury (ang. \textit{structure learning}). Do tego zadania w GeNIe\&Smile dostępne są algorytmy: \textit{bayesian search}, \textit{PC}, przeszukiwanie grafu, \textit{greedy thick-thinning}, \textit{naive bayes} oraz \textit{tree augmented bayes}. BNT udostępnia natomiast: \textit{hill climbing}, K2, \textit{Markov chain}, \textit{Monte Carlo}, PC, \textit{structural EM} oraz przeszukiwanie \textit{brute-force}.
\paragraph*{Struktura na podstawie wiedzy eksperckiej.} W odniesieniu do danych o charakterze binarnym z jakimi mamy do czynienia w zadnaniu, odpowiadające im węzły grafu będą etykietowane wprost nazwami poszczególnych zmiennych losowych. Struktura sieci skonstruowana na podstawie wiedzy eksperckiej przedstawiona jest na poniższym obrazie:\\
\begin{figure}[H]
\includegraphics[width=120mm]{struktura-sieci.jpg}
\centering
\caption{Proponowana struktura sieci oparta na wiedzy eksperckiej}
\label{fig1}
\end{figure}
\section{Przewidywany zakres wykorzystania funkcjonalności programów}
\paragraph*{Programy zostaną użyte} zarówno do odnalezienia zależności między zmiennymi, uaktualnienia sieci poprzez wprowadzenie danych oraz pokazania działania sieci w zakresie w jakim będzie to możliwe.  
Do przekształcenia danych, w przypadku pakietu MatLab jest to na pewno możliwe. Jeżeli pakiet GeNIe nie udostępnia takiej opcji, to podjęta zostanie próba "przycięcia" danych w MatLab dla obu programów.
\end{document}